Interface Building for Software by Modular Three-Valued Abstraction Refinement

نویسنده

  • Pritam Roy
چکیده

Verification of software systems is a very hard problem due to the large size of program state-space. The traditional techniques (like model checking) do not scale; since they include the whole state-space by inlining the library function codes. Current research avoids these problem by creating a lightweight representation of the library in form of an interface graph (call sequence graph). In this paper we introduce a new algorithm to compute a safe, permissive interface graph for C-type functions. In this modular analysis, each function transition is summarized following three-valued abstraction semantics. There are two kinds of abstraction used here. The global abstraction contains predicates over global variables only; however the local abstraction inside each function may also contain the local variables. The abstract summary needs refinement to guarantee safety and permissiveness. We have implemented the algorithms in TICC tool and compared this algorithm with some related interface generation algorithms. We also discuss the application of interface as an offline test-suite. We create an interface from the model program (specification) and the interface will act as a test-suite for the new implementation-under-test (IUT).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Logical Basis for Component-Based Systems Engineering

In a systematic development of distributed interactive software systems composed of components we work with a basic system model and description techniques providing specific views and abstractions of systems such as • the interface view, • the distribution view, and • the state transition view. Each of these views is helpful and has its place in the systems development process. We show how to ...

متن کامل

Protocol Design Concepts, IP and Routing

Protocols are complex, distributed pieces of software. Abstraction and modular design are standard techniques used by software engineers to deal with complexity. By abstraction, we mean that a subset of functions is carefully chosen and setup as a “blackbox” or module (see Figure 1). The module has an interface describing its input/output behavior. The interface outlives the implementation the ...

متن کامل

Three-Valued Spotlight Abstractions

Spotlight abstractions in verification focus on one specific component in a parallel system while disregarding most information about the rest. Existing spotlight abstractions are either based on overor on underapproximations of the parallel system, thus either preserving existential or universal properties. In this paper we present three-valued spotlight abstractions for parallel systems which...

متن کامل

Lightweight Specialized 3-Valued Logic Shape Analyzer

We describe the design and implementation of a specialized shape analysis tool based on 3-valued logic. Our analyzer can reason about programs manipulating recursive data structures, such as singlyand doubly-linked lists, yielding precise results that are comparable to those of the wellknown reference implementation, in only a fraction of the time. In particular, (a) we apply a new and effectiv...

متن کامل

Thread-Modular Counterexample-Guided Abstraction Refinement

We consider the refinement of a static analysis method called thread-modular verification. It was an open question whether such a refinement can be done automatically. We present a counterexampleguided abstraction refinement algorithm for thread-modular verification and demonstrate its potential, both theoretically and practically.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1004.5382  شماره 

صفحات  -

تاریخ انتشار 2008